Method and computer system for information notification

ABSTRACT

The present invention allows notification of information held by a first computer to a second computer even if the first computer and the second computer are not communicably connected.  
     The first server  1  sends information which is used when the second server  11  backs up (hereafter called catalog information) to the first storage system  21 . The first storage system  21  converts the received catalog information into an electronic file having a predetermined file name and writes it to the PVOL  45 , and writes the data group including the catalog information in the PVOL  45  to the SVOL  145  in the second storage system  121 . The second server  11  acquires the catalog information from the SVOL  145  by searching the predetermined file name in the SVOL  145 , and backs up the data in the SVOL  145  using the acquired catalog information.

CROSS-REFERENCE TO PRIOR APPLICATION

This application relates to and claims priority from Japanese Patent Application No. 2005-338613, filed on Nov. 24, 2005 the entire disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a computer technology for notifying electronic information.

2. Description of the Related Art

A technology disclosed in Japanese patent Application Laid-Open No. 2005-115898, for example, is known in this field. According to this technology, the information processor generates a first data including a first instruction to be executed in a second storage device, and sends a request to write the first data to a first storage volume to a first write request section of a first storage device according to a first communication protocol. If the first data written in the first storage volume is an instruction to the second storage device, the first storage device sends a request to write the first data to a second storage volume to a second write request section of the second storage device according to a second communication protocol. The second storage device executes the first instruction which is set in the first data written in the second storage volume.

SUMMARY OF THE INVENTION

specific processing appropriately, to the first storage system. The first controller writes the information for the second computer received from the first computer to certain first storage device out of the plurality of first storage devices, and sends the information for the second computer to the second storage system. The second controller writes the information for the second computer received from the first storage system to a certain second storage device out of the plurality of second storage devices, and sends the information for the second computer to the second computer. And the second computer receives the information for the second computer from the second storage system, and executes the specific processing by referring to the received information for the second computer.

Each computer may be a server machine, for example, or may be another computer.

Each storage system can be a disk array device comprising a plurality of arrayed storage devices, for example.

According to a first aspect of this method for information notification, the certain first storage device is a first command device capable of storing a command for the first controller. The certain second storage device is a second command device capable of storing a command for the second controller. The first computer sends a command to the first controller. The first controller writes a command received from the first computer to the certain first command device, reads and processes a command stored in the first command device, and if the information for the second computer is received from the first computer, writes the received information for the second computer to the first command device, and sends the information for the second computer written in the first command device to the second controller. The second controller writes the information for the second computer received from the first controller to the second command device, and sends the information for the second computer from the second command device to the second computer.

According to a second aspect of this method for information notification, in the above mentioned first aspect, the second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs include first and second computer programs which can refer to the information for the second computer by being executed by the CPU, and a third computer program which receives the information for the second computer from the second command device by being executed by the CPU. Both of the first and second computer programs, by being executed by the CPU, receive the information for the second computer via the third computer program, and execute the specific processing using the received information for the second computer.

According to a third aspect of the method for information notification, in the above mentioned second aspect, (A) at least one of the first and second computer programs, be being executed by the CPU, requests the third computer program to acquire the information for the second computer, and (B) the third computer program, by being executed by the CPU, accesses the second command device according to the request, and the above (A) and (B) are repeated until at least one of the first and second computer programs acquires the information for the second computer.

According to a fourth aspect of the method for information notification, in the above mentioned second aspect, the first computer sends a second computer ID, which is an ID of a notification destination computer of the information for the second computer, to the first controller along with the information for the second computer. The first controller writes a set of the information for the second computer and the second computer ID to the first command device, and sends the set to the second controller. And the second controller receives the set from the first controller and writes it to the second command device, determines a second computer to be a notification destination of the information for the second computer in the set from the second computer ID included in the set written in the second command device, and sends the information for the second computer in the set written in the second command device to the determined second computer.

According to a fifth aspect of the method for information notification, in the fourth aspect, the third computer program, by being executed by the CPU, returns a corresponding response to the second controller if the information for the second computer is received from the second controller, and does not return this response to the second controller if not. And the second controller sends the information for the second computer again if this response is not received.

According to a sixth aspect of the method for information notification, the plurality of first storage devices include one or more primary data devices, which are primary storage devices for storing data to be referred to by the first computer. The plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device. The first computer writes the information for the second computer to a certain primary data device. The first controller sends a data group, including the information for the second computer in the certain primary data device, to the second controller. The second controller writes the data group received from the first controller to a certain secondary data device forming a pair with the certain primary data device. And the second computer acquires the information for the second computer from the certain secondary data device.

According to a seventh aspect of the method for information notification, in the above mentioned sixth aspect, the first computer converts the information for the second computer into an electronic file having a predetermined file name, and writes the electronic file to the certain primary data device. And the second computer acquires the information for the second computer, which is the electronic file, by searching the predetermined file name in the certain secondary data device.

According to an eighth aspect of the method for information notification, the information for the second computer is information for guaranteeing the consistency of the data in the first storage device to be referred to by the first computer.

According to a ninth aspect of the method for information notification, in the above mentioned eighth aspect, the plurality of first storage devices include one or more primary data devices, which are primary storage devices for storing data to be referred to by the first computer, and a first command device capable of storing a command for the first controller. The plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device, and a second command device capable of storing a command for the second controller. The first command device is provided with a first management table for recording pair information to indicate which primary data device and which secondary data device form a pair. The second command device is provided with a second management table for recording pair information to indicate which primary data device and which secondary data device form a pair. The first computer has a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the first computer include a first backup program for controlling backup of data, an access program for reading data from the primary data device and writing data to the primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device. The second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the second computer include a second backup program for controlling backup of data and a second copy control program for controlling data copy from the primary data device to the second data device. The first backup program, by being executed by the CPU, controls the access program so that the access program does not write data to a certain primary data device, prepares information for the second computer which includes information on the time when the control is performed, information on a pair of the certain primary data device and the certain secondary data device, and information on the access program, and sends an instruction to write the prepared information for the second computer to the first management table and to copy the data in the certain primary data device, to the first copy control program. The first copy control program, by being executed by the CPU, causes the first controller to write the prepared information for the second computer to the first management table, and to copy the data in the certain primary data device to the certain secondary data device. The first controller writes the information for the second computer from the first copy control program to the first management table, sends the information for the second computer written in the first management table to the second controller, and sends the data group in the certain primary data device to the second controller. The second controller writes the information for the second computer from the first controller to the second management table, and writes the data group from the first controller to the certain secondary data device. The second copy control program, by being executed by the CPU, receives the information for the second computer from the second management table, and transfers the received information for the second computer to the second backup program. And the second backup program, by being executed by the CPU, performs backup or recovery of the data group in the certain secondary data device using the information for the second computer from the second copy control program.

According to a tenth aspect of the method for information notification, in the above mentioned eighth aspect, the plurality of first storage devices include one or more primary data devices, which are primary storage devices for storing data to be referred to by the first computer. The plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device. The first computer has a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the first computer include a first backup program for controlling backup of data, an access program for reading data from the primary data device and writing data to the primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device. The second computer has a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from the storage area. The plurality of computer programs of the second computer include a second backup program for controlling backup of the data, and a second copy control program for controlling data copy from the primary data device to the secondary data device. The first backup program, by being executed by the CPU, controls the access program so that the access programs does not write data to certain primary data device, prepares information for the second computer, which includes information on the time when the control is performed, information on a pair of the certain primary data device and the certain secondary data device, and information on the access program, converts the prepared information for the second computer into an electronic file having a predetermined file name, and sends an instruction to write the electronic file to the certain primary data device, and to copy the data in the certain primary data device, to the first copy control program. The first copy control program, by being executed by the CPU, causes the first controller to copy the data in the certain primary data device to the certain secondary data device. The first controller sends a data group including the electronic file in the certain primary data device to the second controller. The second controller writes the data group from the first controller to the certain secondary data device. And the second backup program, by being executed by the CPU, acquires the information for the second computer, which is the electronic file, from the certain secondary data device by searching the predetermined file name in the certain secondary data device, and performs backup or recovery of the data group in the certain secondary data device using the acquired information for the second computer.

Each processing may be executed by each predetermined means. Each means may be each unit. Each means or unit may be implemented by hardware (e.g. circuit), computer program or a combination thereof (e.g. one or more CPUs reading a plurality of computer programs). Each computer program can be read from a storage resource (e.g. memory) provided to the computer. The storage resource may be installed via such a recording medium as a CD-ROM, or downloaded via a communication network, such as the Internet.

According to the present invention, information held by a first computer can be notified to a second computer, even if the first computer and the second computer are not communicably connected.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram depicting an overview of the physical configuration of a computer system according to a first embodiment of the present invention;

FIG. 2 is a diagram depicting an example of the logical configuration constructed in the computer system according to the first embodiment;

FIG. 3A shows a configuration example of a first management table 47, FIG. 3B shows a configuration example of a second management table 147, and FIG. 3C shows a configuration example of the command device management table stored in the memory 26 of a first storage system 21;

FIG. 4 is a flow chart depicting an example of processing until the update of the second management table 147 completes in the case when the catalog information is sent from a first server 1;

FIG. 5A is a flow chart depicting an example of processing executed by a second storage control program 141, and FIG. 5B is a flow chart depicting an example of processing executed by a second server 11 in a variant form of the first embodiment of the present invention;

FIG. 6 is a diagram depicting an example of the logical configuration constructed in the computer system according to the second embodiment of the present invention;

FIG. 7 is a flow chart depicting an example of processing executed by the first server 1 and the first storage system 21 in the second embodiment of the present invention;

FIG. 8 is a flow chart depicting an example of processing executed by the second server 11 in the second embodiment of the present invention; and

FIG. 9A is a flow chart depicting an example of processing executed in a third embodiment of the present invention, and FIG. 9B is a flow chart depicting an example of processing executed in step S74.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Some embodiments of the present invention will now be described with reference to the drawings. In each of the following embodiments, it is assumed that the computer is a server.

Embodiment 1

FIG. 1 shows an overview of the physical configuration of the computer system according to the first embodiment of the present invention.

The first server 1 and the first storage system 21 are communicably connected via the first communication medium 12A. The first storage system 21 and the second storage system 121 are communicably connected via the second communication medium 12B. The second storage system 121 and the second server 11 are communicably connected via the third communication medium 12C. And the second server 11 and the first server 1 are communicably connected via the fourth communication medium 12D. Each communication medium 12A-12D can be a leased line or a communication network, for example. The communication network can be the Internet, a LAN (Local Area Network) or a SAN (Storage Area Network), for example. The communication medium 12A to 12C may be one communication network or may be separate communication networks. At least one of the communication medium 12A to 12C can be a medium that can perform communication conforming to the Fiber Channel protocol, for example. The communication medium 12D can be a medium that can perform communication conforming to TCP/IP, for example.

The first server 1 and the second server 11 can virtually have the same hardware configuration. So this hardware configuration example will be described using the first server 1 as an example. (In FIG. 1, in the first server 1 and the second server 11, virtually the same composing elements are denoted by the same reference numbers increased by ten.)

The first server 1 comprises a storage resource (e.g. memory, hard disk drive) 5 for storing various computer programs, a CPU 3 for reading and executing a computer program from the storage resource 5, a first I/F 9 to be a communication interface (hereafter I/F) of the first communication medium 12A, and a fourth I/F 7 to be the I/F of the fourth communication medium 12D. (The second server 11 may comprise the third I/F 19 to be the I/F of the third communication medium 12C, instead of the first I/F 9). For each I/F, a host bus adapter or a LAN controller, for example, can be used.

The first storage system 21 and the second storage system 121 can virtually have the same hardware configuration. So this hardware configuration example will be described using the first storage system 21 as an example. (In FIG. 1, in the first storage system 21 and the second storage system 121, virtually the same composing elements are denoted by the same reference numbers increased by one hundred.)

The first storage system 21 can be a RAID (Redundant Array of Independent Inexpensive Disks) system comprising a plurality of media drives 33, for example. Each media drive 33 comprises a storage medium (e.g. such a disk as a hard disk and DVD) for storing data. The first storage system 21 can further comprise a first controller 22, in addition to the plurality of media drives 33.

The first controller 22 is a device for controlling operation of the first storage system 21. The first controller 22 can comprise a first I/F 29 to be the I/F of the first communication medium 12A, a second I/F 27 to be the I/F of the second communication medium 12B, and a drive I/F 31 for controlling communication via each media drive 33. (The second controller 122 can comprise a third I/F 129 to be the I/F of the third communication medium 12C instead of the first I/F 29.) The first controller 22 can also comprise a memory 26 and a CPU 23. The number of memories 26 and CPUs 23 may be one or plural. The memory 26 can have a cache area for temporarily storing data to be exchanged between the media drive 33 and the first server 1, and a control area for storing data and a computer program to control the first storage system 21, for example. The CPU 23 can read and execute a computer program from the control area.

The above mentioned configuration of each controller 22 and 122 are examples, and other configurations may be used. For example, at least one of the controllers 22 and 122 may comprise a plurality of first control sections (e.g. control circuit boards) for controlling communication with an external device (e.g. computer or another storage system), a plurality of second control sections (e.g. control circuit boards) for controlling communication with a media drive 33, a cache memory for the storing data to be exchanged between an external device and the media drive 33, a control memory for storing data for controlling the first storage system 21, each first control section, each second control section, and a connection section (e.g. such a switch as a crossbar switch) for connecting the cache memory and control memory. In this case, one of the first control section and the second control section, or both of them together can perform processing as a later mentioned controller.

The above is an example of a physical configuration of the computer system according to the first embodiment. In the first embodiment, even if the servers 1 and 11 cannot communicate via the fourth communication medium 12D (or even if the fourth communication medium 12D is not used), the information held by the first server 1 can be notified to the second server 11 via the first storage system 21 and the second storage system 121 by the following notification method. Now an example of the logical configuration to be constructed in the above mentioned computer system to implement the notification method will be described.

FIG. 2 shows an example of the logical configuration constructed in the computer system according to the first embodiment.

The first server 1 is a data base server, for example. The second server 11 is a backup server, for example. The storage resource 5 of the first server 1 and the storage resource 15 of the second server 11 store various computer programs. The computer programs to be stored in the storage resource 5 are, for example, such application programs as a data base management system (hereafter DBMS) 2, first storage backup program 4, and first copy control program 6. The computer programs to be stored in the storage resource 15 are, for example, the second storage backup program 14 and second copy control program 16. Processings which various computer programs can execute will be described later. It is the CPU that reads and executes various computer programs to perform specific processings, but to avoid redundant description, a simple expression, such as “computer program executes processing” will be used.

The memory 26 of the first storage system 21 stores the first storage control program 41. In the same way, the memory 126 of the second storage system 121 stores the second storage control program 141. Processings to be executed by these computer programs will also be described later.

In the physical storage areas of a plurality of media drives 33 of the first storage system 21, a plurality of logical volumes, which are logical storage devices, are installed. At least one of the plurality of logical volumes may be installed in the memory 26. The plurality of logical volumes include a data volume and a first command device 43. The data volume is a logical volume where the data used by an application program of the first server 1 is stored (hereafter called data volume), and specifically this is a primary logical volume (hereafter PVOL) 45 to be a copy source of the remote copy, for example. The first command device 43 stores all of the plurality of commands received by the first storage system 21, or a predetermined command (e.g. a command with a predetermined format different from a write request or read request to PVOL 45) out of these plurality of commands. The first command device 43 can have a first management table 47. The first management table 47 will be described later.

The second storage system 121 can comprise a plurality of logical volumes, lust like the first storage system 21. These plurality of logical volumes include a secondary logical volume (hereafter SVOL)m which is a kind of data volume, to be a copy destination of the remote copy, and a second command device 143 for storing all of the plurality of commands received by the second storage system 21 or a predetermined command out of these plurality of commands. The second command device 143 can have a second management table 147. The second management table 147 will be described later.

In the first embodiment, the catalog information required for backing up (and/or restoring) data used by the DBMS 2 of the first server 1 is output from the first server 1. The catalog information is written to the first management table 47 of the first command device 43. The catalog information written in the first management table 47 is read from the first management table 47. The catalog information which was read is sent from the first storage system 21 to the second storage system 121 via the second communication medium 12B. The catalog information received by the second storage system 121 is written to the second management table 147 of the second command device 143. The catalog information written in the second management table 147 is sent to the second server 11. The CPU 13 of the second server 11 writes the received catalog information to the storage resource 15, and executes backup or restore using the catalog information.

Now a configuration example of the first management table 47, a configuration example of the second management table 147, and a configuration example of the catalog information will be described.

FIG. 3A shows a configuration example of the first management table 47. FIG. 3B shows a configuration example of the second management table 147.

The first management table 47 records information on a volume pair to indicate which logical volume of the first storage system 21 and which logical volume of which storage system form a pair. In the same way, the second management table 147 records information on a volume pair to indicate which logical volume of the second storage system 121 and which logical volume of which storage system form a pair.

Specifically, for example, each of the first management table 47 and the second management table 147 stores hardware information, DBMS information storage backup program information and notification destination server information for each data volume of the first or second storage system 21 or 121 having the table 47 or 147. The information elements of the hardware information are, for example, the storage system identification number (L-Seq #), volume number (L-LDEV #), volume attribute (primary or secondary (P/S)), copy type (e.g. synchronous remote copy or asynchronous remote copy (FUNC)), identification number of another storage system where a pair partner logical volume exists (R-Seq #), the pair partner logical volume number (R-LDEV #), pair status (STATUS), and DBMS staticization time (TIME). The information elements of DBMS information are, for example, the DBMS identifier (DBMS), AP instance name (INST), and AP data base name (DB). An example of the information elements of the storage backup program information is the program identifier (PP). An example of the information elements of the notification destination server information is the ID of the server to be the notification destination of the catalog information, such as the World Wide Name (WWN). The volume copy time may be recorded, although this is not shown in FIG. 3A and FIG. 3B. The volume copy time may be at least one of the time when copy processing started, the time when copy processing ended, and the time length required for copy processing, for example.

The catalog information is information required for guaranteeing consistency of the data used for DBMS 2. The catalog information includes, for example, the hardware information and DBMS information out of the information group recorded in the above mentioned tables 47 and 147.

In the present embodiment, the catalog information sent from the first server 1 is sent to the second server 11 via the first command device 43 and the second command device 143, but in this case the table for managing information on the command devices (hereafter command device management table) is recorded in the memory 26 and 126 of each storage system 21 and 121.

FIG. 3C shows a configuration example of the command device management table stored in the memory 26 of the first storage system 21. (The configuration of the command device management table stored in the memory 126 of the second storage system 121 is virtually the same.)

In the command device management table 61, the storage system identification number (L-Seq #) of the first storage system 21, the volume number (L-LDEV #) of the first command device 43, the identification number (R-Seq #) of the second storage system where the second command device 143, which is a pair partner of the first command device 43, exists, and the volume number (R-LDEV #) of the second command device 143 are recorded.

Now an example of the copy processing executed in the first embodiment will be described.

The first storage control program 41 controls copy from PVOL 45 to SVOL 145 as follows. Specifically the first storage control program 41 sets the pair status (STATUS) of PVOL 45 and SVOL 145 to copy status (COPY), synchronous status (PAIR) and asynchronous status (PSUS), for example.

“Copy status” is a status where the difference between the data in PVOL 45 and the data in SVOL 145 (hereafter difference data) has been copied to SVOL 145 based on the bit map for managing the difference between PVOL 45 and SVOL 145 (e.g. bit map comprised of each bit corresponding to each location in PVOL, hereafter called difference bit map, which is not illustrated here) in the stage where the volume pair reaches “synchronous status”. When the difference data becomes zero, the status of the volume pair automatically changes from “copy status” to “synchronous status”.

“Synchronous status” is a status where the data of PVOL 45 and that of SVOL 145 are synchronized. In this status, if the data of PVOL 45 is updated, the update (data newly written in PVOL 45) is immediately (e.g. virtually at the same time as the update of PVOL 45) written to SVOL 145.

“Asynchronous status” is a status where the data of PVOL 45 and that of SVOL 145 are asynchronous, and an update of the data in PVOL 45 does not influence the data of SVOL 145. (In other words, even if new data is written in PVOL 45, that data is not written to SVOL 145.) If new data is written in PVOL 45 in this status, the data is stored in a predetermined storage area by the first storage control program 41 as the difference data, and the bit map records that an update occurred at a location where the new data was written (e.g. bit corresponding to the location changes from 0 to 1).

In order to synchronize the data of PVOL 45 and that of SVOL 145, the first storage control program 41 specifies the difference data which must be copied from PVOL 45 to SVOL 145 based on the difference bit map at the point when a predetermined instruction (e.g. snapshot acquisition instruction) from the first copy control program 6, and changes the status of the volume pair to “copy status”.

The first storage control program 41 also executes copy of the specified difference data in bit map units, and updates the corresponding location on the difference bit map after data copy (e.g. at completion of copy of the difference data, corresponding bit is changed from 1 to 0). The first storage control program 41 can repeat this processing until the difference data becomes zero. At the point when the difference in bit maps becomes zero, the status of the volume pair automatically changes to “synchronous status”.

After copy of the difference data completes, the first storage control program 41 can change the status of the volume pair to “asynchronous status” in order to create a snapshot (that is, in order not to reflect the update of PVOL 45 to SVOL 145).

When a predetermined inquiry is received from the first copy control program 6, the first storage control program 41 can report the pair status. By this series of processing, the first storage control program 41 can generate a snapshot of PVOL 45, at the point when a predetermined instruction (e.g. snapshot acquisition instruction) is received, in SVOL 145.

Now the flow of transmission of the catalog information from the first server 1 to the second server 11 when the above copy processing is performed will be described.

FIG. 4 shows an example of the processing flow to be performed up to the completion of the update of the second management table 147 when catalog information is sent from the first server 1.

The first storage backup program 4 staticizes the DBMS 2 when a predetermined event is generated (step S1). A “predetermined event” in this case is an event for acquiring a snapshot of PVOL 45, for example, and specifically the input of a snapshot acquisition instruction to the first server 1, or the detection of a predetermined time, for example. “Staticization of the DBMS 2” refers to the DBMS 2 not writing new data to PVOL 45, for example. In staticized status, the DBMS 2 cannot write new data to PVOL 45. In other words, an exchange of data between the DBMS 2 and PVOL 45 is performed via the first copy control program 6, staticizing DBMS 2 disables such an exchange.

Then the first storage backup program 4 generates catalog information, and writes it to the storage resource 5 (S2). Here the first storage backup program 4 generates the hardware information including the time when DBMS 2 was staticized in step S1, and the DBMS information of the DBMS 2.

Then the first storage backup program 4 performs the processing in step S3. In other words, the first storage backup program 4 sends the instruction of the volume copy to the first copy control program 6. Also the first storage backup program 4 sends an instruction to write the catalog information generated in step S2 to the first management table 47, and the notification of the program identifier and the other server WWN to the first copy control program 6. Here “volume copy instruction” includes L-Seq #, L-LDEV #, R-Seq # and R-LDEV #, for example. The program identifier can be the identifier of the first storage backup program 4, for example. The other server WWN can be the WWN of the second server 11.

Then step S4 and step S9 are performed.

In step S4 the first copy control program 6 receives an instruction from the first storage backup program 4, and responding to the instruction, sends a volume copy instruction to the first storage control program 41. Specifically the first copy control program 6 writes the volume copy instruction to the command area (e.g. an area different from the storage area where the first management table 47 exists) of the first command device 43, for example. The volume copy instruction includes L-Seq #, L-LDEV #, R-Seq # and R-LDEV #, for example.

In step S4, the first copy control program 6 writes the catalog information (specifically various information elements included therein) from the first storage backup program 4 and the program identifier and the other server WWN notified by the first storage backup program 4 in the open record or predetermined record of the first management table 47. Specifically the first copy control program 6 can write a command to write the catalog information, the program identifier and the other server WWN to the first management table 47 (hereafter catalog write command) in the command area of the first command device 43. In this case, when the first storage control program 41 reads the catalog write command from the command area of the first command device 43, the first storage control program 41 writes the catalog information, program identifier and the other server WWN in the command to the first management table 47 according to the catalog write command.

In step S5, the first storage control program 41 can execute copy processing according to the volume copy instruction from the first copy control program 6. Specifically the first storage control program 41 can judge the copy source PVOL 45 and the copy destination SVOL 145, from L-Seq #, L-LDEV #, R-Seq # and R-LDEV # in the volume copy instruction (e.g. volume copy instruction acquired from the first command device 43), for example. And by performing the above mentioned copy processing, the first storage control program 41 generates a snapshot of PVOL 45 at the point when the volume copy instruction was received, in SVOL 145. Specifically the first storage control program 41 sends a copy instruction, including the copy target data (e.g. above mentioned difference data), volume number of SVOL 145, and write destination LBA (Logical Block Address) in SVOL 145, to the second storage control program 141, for example. The second storage control program 141 writes the copy target data to the SVOL 145 according to the copy instruction.

In step S5, the first storage control program 41 transfers the catalog information, program identifier and the other server WWN written in the record of the first management table 47 to the second storage control program 141. This processing can be performed at the timing of the volume copy instruction from the first copy control program 6, for example. The second storage control program 141 writes the transferred catalog information, program identifier and the other server WWN to a predetermined record (e.g. record corresponding to the transfer source record) or an open record of the second management table 147 (S6). In step 5, the first storage control program 41 specifies a second command device 143 corresponding to the first command device 43 from the command device management table 61, and writes the catalog information transmission command to the second command device 143. The catalog information transmission command instructs the second storage control program 141 to send the catalog information to the second server 11 having the other server WWN. The catalog information transmission command may be written to the first command device 43 by the first server 1, and transferred from the first command device 43 to the second command device 143 by the first storage control program 41.

The first storage control program 41 can periodically transfer the pair status (STATUS) to the second storage control program 141 until the above mentioned copy processing ends (S7). The second storage control program 141 receives the pair status from the first storage control program 41, and updates the pair status on the record where the catalog information, etc. were written in step S6 to the received pair status (S8).

In step S9, the following is executed. For example, the first storage backup program 4 periodically inquires the pair status to the first copy control program 6. Responding to this, the first copy control program 6 inquires the pair status to the first storage control program 41. Responding to the inquiry, the first storage control program 41 replies with the pair status at the point when the inquiry was received to the first copy control program 6. Then the first copy control program 6 notifies the replied pair status to the first storage backup program 4.

If a pair status to indicate copy completion is not acquired after a predetermined time elapses, or if a pair status to indicate a copy failure is acquired in step S9 (NO in S10), the first storage backup program 4 executes predetermined error processing (S11), and cancels the staticization of the DBMS 2 (S12).

If a pair status to indicate copy completion (e.g. synchronous status that transited from copy status) is acquired in step S9 (YES in S10), the first storage backup program 4 cancels the staticization of the DBMS 2 (S13). The first storage backup program 4 records volume copy time (e.g. at least one of copy processing start time, copy processing end time and time length required for copy processing) in the catalog information written in the storage resource 5 (S14). Also the first storage backup program 4 instructs the first copy control program 6 to write the volume copy time to the first management table 47 (S15). According to this instructions, the first copy control program 6 writes the volume copy time in the record where the catalog information, etc. was written in step S4 in the first management table 47, and the first storage control program 41 transfers the volume copy time written in the first management table 47 to the second storage control program 141 (S16). The second storage control program 141 receives the volume copy time, and writes the received volume copy time in the record where the catalog information, etc. was written in step S6 in the second management table 147 (S17). The volume copy time can be indicated by the second server 11, for example.

FIG. 5A shows an example of the processing flow executed by the second storage control program 141.

The processing shown in FIG. 5A can be started periodically. If a command is recorded in the command area of the second command device 143 (YES in S30), the second storage control program 141 reads the command from the command area (S31). If the read command is not the catalog information transmission command (NO is S32), the second storage control program 141 executes processing according to the read command (S33). If the read command is the catalog information transmission command (YES in S32), the second storage control program 141 acquires the catalog information written in step S8 from the second management table 147 according to the command (e.g. command in which the record where the catalog information, etc. is written is specified), and sends the acquired catalog information to the second server 11 having the other server WWN written in the record of the acquisition source from which the catalog information was acquired (S34). In this case, if the response on the reception of the catalog information is received from the second copy control program 16 which receives the catalog information (YES in S35), the second storage control program 141 ends the processing, but if this response is not received (NO in S35), the second storage control program 141 can retry the transmission of the catalog information.

The above is the description on the first embodiment. The catalog information may be written to the second management table 147 by sending a write instruction from the first storage control program 41 to the second storage control program 141, or by sending a read instruction from the second storage control program 141 to the first storage control program 41. The catalog information sent from the second storage system 121 to the second server 11 is provided to the second storage backup program 14 via the second copy control program 16. The second storage backup program 14 can execute backup or restore using the received catalog information. When backup is executed, the second storage backup program 14 reads data from the SVOL 145 which is specified based on the received catalog information, and writes the data to the storage resource 15 or a storage device communicably connected to the second server 11 (hereafter secondary storage device), which is not illustrated. When restore is executed, the second storage backup program 14 reads the data held as backup from the storage resource 15 or the above mentioned secondary storage device (e.g. a storage device having a magnetic tape), and writes the read data to the SVOL 145 which is specified based on the received catalog information. In this case, the second storage control program 141. writes the data in the SVOL 145 to PVOL 45 (specifically attributes of the logical volumes 145 and 45 are inverted so that 45 becomes SVOL and 145 becomes PVOL, and data is copied from PVOL 145 to SVOL 45, for example). By this, the data can be restored in the logical volume 45.

According to the above mentioned first embodiment, the catalog information sent from the first server 1 can be provided to the second server 11 via the first command device 43 and the second command device 143. By this, the catalog information held by the first server 1 can be provided to the second server 11, even if the first server 1 and the second server 11 are not communicably connected.

According to the first embodiment, the second copy control program 16 receives the catalog information and the catalog information is provided from the second copy control program 16 to the second storage backup program 14. By this, if a different type of storage backup program 14′ is installed in the second server 11, the second copy control program 16 can be a common interface for the second storage control program 141 of each storage backup program, as shown in the dotted line in FIG. 2, so a different type of storage backup program 14′ can receive the catalog information.

In the first embodiment, the second storage system 121 provides the catalog information written in the second management table 147 to the second server 11, without receiving a request from the second server 11, but the second server 11 may acquire the catalog information from the second management table 147 as a variant form. Now this variant form will be described.

FIG. 5B shows an example of the processing flow executed by the second server 11 according to the variant form of the first embodiment of the present invention.

The second storage backup program 14 has a periodic monitoring function. The periodic monitoring function is a function to inquire the pair status to the second copy control program 16 periodically.

If a predetermined time (e.g. backup time defined in the schedule input by the user) comes when the periodic monitoring is performed, the second storage backup program 14 decreases the time interval to inquire the pair status, so as to continue periodic monitoring (S21). Responding to the inquiry from the second storage backup program 14, the second copy control program 16 inquires the pair status to the second storage control program 141. Responding to this inquiry, the second storage control program 141 replies the pair status from the first storage control program 41 to the second copy control program 16. The second copy control program 16 notifies the replied pair status to the second storage backup program 14.

When the second storage backup program 14 does not acquire a pair status to indicate copy completion even if a certain time has elapsed since the above mentioned predetermined time, or the second storage backup program 14 acquired a pair status to indicate copy failure (NO in S22), the second storage backup program 14 executes a predetermined error processing (S25). If the pair status to indicate copy completion is acquired (YES in S22), the second storage backup program 14 acquires catalog information from the target record of the second management table 147 (S23), and performs backup or restore using the acquired catalog information (S24). Here “target record” may be a predetermined record, or a record matching predetermined conditions found in the record groups in the second management table 147.

In this variant form as well, effects the same as the first embodiment can be implemented. In this variant form, the other server WWN and the catalog information transmission command are unnecessary.

Embodiment 2

Now the second embodiment of the present invention will be described. Differences from the first embodiment will primarily be described, and description will be simplified or omitted for the common aspects with the first embodiment.

FIG. 6 shows an example of the logical configuration constructed in the computer system according to the second embodiment of the present invention.

In the second embodiment, the above mentioned command device 43 and 143 are not installed in each storage system 21 and 121. Therefore each management table 47 and 147 is not in each storage system 21 and 121.

In the second embodiment, the first storage backup program 4 can write the catalog information to PVOL 45 along with the data. Therefore if data is copied from PVOL 45 to SVOL 145, the catalog information is also copied to SVOL 145. The second storage backup program 14 can acquire the catalog information when data is read from SVOL 145.

FIG. 7 shows an example of the processing flow executed in the first server 1 and the first storage system 21 according to the second embodiment.

The first storage backup program 4 staticizes the DBMS 2, just like steps S1 and S2 in the first embodiment, and generates the catalog information (S51, S52).

The first storage backup program 4 converts the generated catalog information into a file and writes it to PVOL 45, and sends the volume copy instruction to the first copy control program 6 (S53). Here the catalog information is an electronic file, and the file name thereof is a predetermined file name.

The first copy control program 6 sends the volume copy instruction to the first storage control program 41 (S54). The first storage control program 6 performs copy processing, just like step S5 (S55).

After S53, just like step S9, the pair status is periodically acquired (S56). If a pair status to indicate copy completion is acquired (YES in S57), the first storage backup program 4 cancels the staticization of the DBMS 2 (S59). In a case which is the same as the case of NO in step S10 (NO in S57), on the other hand, the first storage backup program 4 executes a predetermined error processing (S58), then cancels the staticization of the DBMS 2 (S59).

In the above flow, the first storage control program 41 periodically notifies the pair status to the second storage control program 141.

FIG. 8 shows an example of the processing flow executed by the second server 11 according to the second embodiment of the present invention.

The second storage backup program 14 performs processing the same as step S21 (S61). If a pair status to indicate copy completion is not acquired after a certain time has elapsed since the above mentioned predetermined time, or if a pair status to indicate copy failure is acquired (NO in S62), then the second storage backup program 14 executes a predetermined error processing (S65).

If the second storage backup program 14 acquired the pair status to indicate copy completion (YES in S62), on the other hand, the second storage backup program 14 searches and reads the catalog information from SVOL 145 (S63), and performs backup or restore using the read catalog information (S64). Here a predetermined file name has been set in the catalog information by the above mentioned processing, and the second storage backup program 14 can find the catalog information by searching the predetermined file name.

According to the second embodiment of the present invention, just like the first embodiment, the catalog information sent from the first server 1 can be provided to the second server 11 via the first command device 43 and second command device 143. By this, the catalog information held by the first server 1 can be provided to the second server 11, even if the first server 1 and second server 11 are not communicably connected.

Also according to the second embodiment, the command device is unnecessary.

Embodiment 3

FIG. 9A shows an example of the processing flow executed according to the third embodiment of the present invention.

In the third embodiment, the first storage backup program 4 selectively executes a first mode for sending the catalog information to the second server 11 via the fourth communication medium 12D, and a second mode for sending the catalog information to the second server 11 via the first and second storage systems 21 and 121.

The first storage backup program 4 periodically monitors the communication status with the second server 11 (S71).

The first storage backup program 4 keeps the mode in current status if the communication status is virtually the same as the previous monitoring result (S73). For example, if the current mode is the first mode, the first mode continues, and if the current mode is the second mode, the second mode continues. If the second mode continues, the first storage backup program 4 may perform the processing in FIG. 9B.

If the communication worsens (e.g. the transfer speed of the fourth communication medium 12D becomes a predetermined value or less, or it was detected that connection with the second server 11 was cut off), and the current mode is the first mode, then the first storage backup program 4 can switch the first mode to the second mode (S74). In other words, the first storage backup program 4 sets the mode such that the catalog information is sent to the first storage system 21, and the catalog information is not sent via the fourth communication medium 12D.

If the communication status improves (e.g. the transfer speed of the fourth communication medium 12D became faster than a predetermined value, or it was detected that the connection with the second server 11 recovered), and the current mode is the second mode, the first storage backup program 4 can switch the second mode to the first mode (S75). In other words, the first storage backup program 4 sets the mode such that the catalog information is sent via the fourth communication medium 12D, and the catalog information is not sent to the first storage system 21.

FIG. 9B shows an example of the specific flow of the processing executed in step S74.

If matched with a predetermined condition (YES in S74-1), the first storage backup program 4 writes the catalog information to the first command device 43 via the first copy control program 6 (S74-2), and if not matched with a predetermined condition and matched with another condition (NO in S74-1), the first storage backup program 4 writes the catalog information to PVOL 45 (S74-3). For the predetermined condition, a condition where the open capacity of PVOL 45 is a predetermined value or less, for example, may be used. For another condition, a condition where the open capacity of PVOL 45 is more than a predetermined value, for example, may be used.

According to the third embodiment, the first storage backup program 4 can select either sending the catalog information via the fourth communication medium 12D, or sending the catalog information via the first storage system 21. The first storage backup program 4 can select either sending the catalog information via the first command device 43 or sending the catalog information via the PVOL 45.

Some preferred embodiments of the present invention were described above, but these are example to describe the present invention, and these shall not intended to limit the scope of the present invention only to these embodiments. The present invention can be embodied in various other ways. For example, each of the above embodiments can be applied not only to catalog information, but also to notifying other kinds of information. 

1. A method for information notification to be implemented in a computer system in which a first computer and a first storage system are communicably connected, said first storage system and a second storage system are communicably connected, said second storage system and a second computer are communicably connected, said first storage system comprises a first controller and a plurality of first storage devices, and said second storage system comprises a second controller and a plurality of second storage devices, the method comprising the steps of: sending, by said first computer, information for the second computer, which is information to be referred to so that said second computer can perform specific processing appropriately, to said first storage system; writing, by said first controller, the information for the second computer received from said first computer to a certain first storage device out of said plurality of first storage devices and sending said information for the second computer to said second storage system; writing, by said second controller, the information for the second computer received from said first storage system to a certain second storage device out of said plurality of second storage devices and sending said information for the second computer to said second computer; and receiving, by said second computer, the information for the second computer from said second storage system and executing said specific processing by referring to said received information for the second computer.
 2. The method for information notification according to claim 1, wherein said certain first storage device is a first command device capable of storing a command for said first controller, said certain second storage device is a second command device capable of storing a command for said second controller, said first computer sends a command to said first controller, said first controller writes a command received from said first computer to said certain first command device, reads and processes a command stored in said first command device, and if said information for the second computer is received from said first computer, writes said received information for the second computer to said first command device, and sends the information for the second computer written in said first command device to said second controller, and said second controller writes the information for the second computer received from said first controller to said second command device, and sends the information for the second computer from said second command device to said second computer.
 3. The method for information notification according to claim 2, wherein said second computer has a storage area for storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs include a first and second computer programs which can refer to said information for the second computer by being executed by said CPU, and a third computer program which receives said information for the second computer from said second command device by being executed by said CPU, and both of said first and second computer programs, being executed by said CPU, receive said information for the second computer via said third computer program, and execute said specific processing using said received information for the second computer.
 4. The method for information notification according to claim 3, wherein (A) at least one of said first and second computer programs, by being executed by said CPU, requests said third computer program to acquire said information for the second computer, and (B) said third computer program, by being executed by said CPU, accesses said second command device according to said request, and said (A) and (B) are repeated until at least one of said first and second computer programs acquires said information for the second computer.
 5. The method for information notification according to claim 3, wherein said first computer sends a second computer ID, which is an ID of a notification destination computer of said information for the second computer, to said first controller along with said information for the second computer, said first controller writes a set of said information for the second computer and said second computer ID to said first command device and sends said set to said second controller, and said second controller receives said set from said first controller and writes said set to said second command device, determines a second computer to be a notification destination of the information for the second computer in said set from said second computer ID included in said set written in said second command device, and sends the information for the second computer in said set written in said second command device to said determined second computer.
 6. The method for information notification according to claim 5, wherein said third computer program, by being executed by said CPU, returns a corresponding response to said second controller if said information for the second computer is received from said second controller, and does not return said response to said second controller if not, and said second controller sends said information for the second computer again if said response is not received.
 7. The method for information notification according to claim 1, wherein said plurality of first storage devices include one or more primary data devices, which are primary storage devices capable of storing data to be referred to by said first computer, said plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device, said first computer writes said information for the second computer to a certain primary data device, said first controller sends a data group including said information for the second computer in said certain primary data device to said second controller, said second controller writes the data group received from said first controller to a certain secondary data device forming a pair with said certain primary data device, and said second computer acquires said information for the second computer from said certain secondary data device.
 8. The method for information notification according to claim 7, wherein said first computer converts said information for the second computer into an electronic file having a predetermined file name and writes said electronic file to said certain primary data device, and said second computer acquires said information for the second computer, which is said electronic file, by searching said predetermined file name in said certain secondary data device.
 9. The method for information notification according to claim 1, wherein said information for the said second computer is information for guaranteeing the consistency of the data in the first storage device to be referred to by said first computer.
 10. The method for information notification according to claim 9, wherein said plurality of first storage devices include one or more primary data devices, which are primary storage devices capable of storing data to be referred to by said first computer and a first command device capable of storing a command for said first controller, said plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device, and a second command device capable of storing a command for said second controller, said first command device is provided with a first management table for recording pair information to indicate which primary data device and which secondary data device form a pair, said second command device is provided with a second management table for recording pair information to indicate which primary data device and which secondary data device form a pair, said first computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said first computer include a first backup program for controlling backup of data, an access program for reading data from said primary data device and writing data to said primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device, said second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said second computer include a second backup program for controlling backup of data and a second copy control program for controlling data copy from the primary data device to the secondary data device, said first backup program, by being executed by said CPU, controls said access program so that said access program does not write data to a certain primary data device, prepares information for the second computer which includes information on the time when said control is performed, information on a pair of said certain primary data device and said certain secondary data device, and information on said access program, and sends an instruction to write said prepared information for the second computer to said first management table and to copy the data in said certain primary data device, to said first copy control program, said first copy control program, by being executed by said CPU, causes said first controller to write said prepared information for the second computer to said first management table and to copy the data in said certain primary data device to said certain secondary data device, said first controller writes the information for the second computer from said first copy control program to said first management table, sends the information for the second computer written in said first management table to said second controller, and sends the data group in said certain primary data device to said second controller, said second controller writes said information for the second computer from said first controller to said second management table, and writes the data group from said first controller to said certain secondary data device, said second copy control program, by being executed by said CPU, receives said information for the second computer from said second management table, and transfers said received information for the second computer to said second backup program, and said second backup program, by being executed by said CPU, performs backup or recovery of the data group in said certain secondary data device using the information for the second computer from said second copy control program.
 11. The method for information notification according to claim 9, wherein said plurality of first storage devices include one or more primary data device, which are primary storage devices capable of storing data to be referred to by said first computer, said plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device, said first computer has a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said first computer include a first backup program for controlling backup of data, an access program for reading data from said primary data device and writing data to said primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device, said second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said second computer include a second backup program for controlling backup of data, and a second copy control program for controlling data copy from the primary data device to the secondary data device, said first backup program, by being executed by said CPU, controls said access program so that said access program does not write data to a certain primary data device, prepares information for the second computer, which includes information on the time when said control is performed, information on a pair of said certain primary data device and said certain secondary data device, and information on said access program, converts said prepared information for the second computer into an electronic file having a predetermined file name, and sends an instruction to write said electronic file to said certain primary data device, and to copy the data in said certain primary data device, to said first copy control program, said first copy control program, by being executed by said CPU, causes said first controller to copy the data in said certain primary data device to said certain secondary data device, said first controller sends a data group including said electronic file in said certain primary data device to said second controller, said second controller writes said data group from said first controller to said certain secondary data device, and said second backup program, by being executed by said CPU, acquires the information for the second computer, which is said electronic file, from said certain secondary data device by searching said predetermined file name in said certain secondary data device, and performs backup or recovery of the data group in said certain secondary data device using said acquired information for the second computer.
 12. The method for information notification according to claim 1, wherein said first computer and said second computer are communicably connected, said first computer selects one of said second computer and said first storage system to either of which said information for the second computer is sent, and sends said information for the second computer to the selected one.
 13. A computer system in which a first computer and a first storage system are communicably connected, said first storage system and a second storage system are communicably connected, said second storage system and a second computer are communicably connected, said first storage system comprises a first controller and a plurality of first storage devices, and said second storage system comprises a second controller and a plurality of second storage devices, wherein said first computer comprises a transmission section for sending information for the second computer, which is information to be referred to so that said second computer can perform specific processing appropriately, said first controller comprises a write section for writing the information for the second computer received from said first computer to a certain first storage device out of said plurality of first storage devices, and a transmission section for sending said information for the second computer to said second storage system, said second controller comprises a receive section for receiving information for the second computer from said first storage system, and a write section for writing said received information for the second computer to a certain second storage device out of said plurality of second storage devices, and a transmission section for sending said information for the second computer to said second computer, and said second computer comprises a receive section for receiving information for the second computer from said second storage system, and a processing section for referring to said received information for the second computer and executing said specific processing.
 14. A method for information notification to be implemented in a computer system in which a first computer and a first storage system are communicably connected, said first storage system and a second storage system are communicably connected, said second storage system and a second computer are communicably connected, said first storage system comprises a first controller and a plurality of first storage devices, and said second storage system comprises a second controller and a plurality of second storage devices, wherein said plurality of first storage devices include one or more primary data devices, which are primary storage devices capable of storing data to be referred to by said first computer and a first command device capable of storing a command for said first controller, said plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device, and a second command device capable of storing a command for said second controller, said first command device is provided with a first management table for recording pair information to indicate which primary data device and which secondary device form a pair, said second command device is provided with a second management table for recording pair information to indicate which primary data device and which secondary data device form a pair, said first computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said first computer include a first backup program for controlling backup of data, an access program for reading data from said primary data device and writing data to said primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device, said second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said second computer include a second backup program for controlling backup of data, and a second copy control program for controlling data copy from the primary data device to the secondary data device, said first backup program, by being executed by said CPU, controls said access program so that said access program does not write data to a certain primary data device, prepares information for the second computer which includes information on the time when said control is performed, information on a pair of said certain primary data device and said certain secondary data device, and information on said access program, and sends an instruction to write said prepared information for the second computer to said first management table and to copy the data in said certain primary data device, to said first copy control program, said first copy control program, by being executed by said CPU, causes said first controller to write said prepared information for the second computer to said first management table, and to copy the data in said certain primary data device to said certain secondary data device, said first controller writes the information for the second computer from said first copy control program to said first management table, sends the information for the second computer written in said first management table to said second controller, and sends the data group in said certain primary data device to said second controller, said second controller writes said information for the second computer from said first controller to said second management table, and writes the data group from said first controller to said certain secondary data device, said second copy control program, by being executed by said CPU, receives said information for the second computer from said second management table and transfers said received information for the second computer to said second backup program, said second backup program, by being executed by said CPU, performs backup or recovery of a data group in said certain secondary data device using the information for the second computer from said second copy control program, and said information for the second computer is information for said second backup program to perform backup or recovery, and is information for guaranteeing the consistency of the data used by said first backup program.
 15. A method for information notification to be implemented in a computer system in which a first computer and a first storage system are communicably connected, said first storage system and a second storage system are communicably connected, said second storage system and a second computer are communicably connected, said first storage system comprises a first controller and a plurality of first storage devices, and said second storage system comprises a second controller and a plurality of second storage devices, wherein said plurality of first storage devices include one or more primary data devices, which are primary storage devices capable of storing data to be referred to by said first computer, said plurality of second storage devices include each secondary data device, which is each secondary storage device forming a pair with each primary data device, said first computer comprises a storage area capable of storing a plurality of computer programs, and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said first computer include a first backup program for controlling backup of data, an access program for reading data from said primary data device and writing data to said primary data device, and a first copy control program for controlling data copy from the primary data device to the secondary data device, said second computer has a storage area capable of storing a plurality of computer programs and a CPU capable of reading and executing each computer program from said storage area, said plurality of computer programs of said second computer include a second backup program for controlling backup of data, and a second copy control program for controlling data copy from the primary data device to the secondary data device, said first backup program, by being executed by said CPU, controls said access program so that said access program does not write data to a certain primary data device, prepares information for the second computer which includes information on the time when said control is performed, information on a pair of said certain primary data device and said certain secondary data device, and information on said access program, converts said prepared information for the second computer into an electronic file having a predetermined file name, and sends an instruction to write said electronic file to said certain primary data device, and to copy the data in said certain primary data device, to said first copy control program, said first copy control program, by being executed by said CPU, causes said first controller to copy the data in said certain primary data device to said certain secondary data device, said first controller sends a data group including said electronic file in said certain primary data device to said second controller, said second controller writes said data group from said first controller to said certain secondary data device, said second backup program, by being executed by said CPU, acquires the information for the second computer, which is said electronic file, from said certain secondary data device by searching said predetermined file name in said certain secondary data device, and performs backup or recovery of data group in said certain secondary data device using said acquired information for the second computer, and said information for the second computer is information for said second backup program to perform backup or recovery, and is information for guaranteeing the consistency of the data used by said first backup program. 